home *** CD-ROM | disk | FTP | other *** search
/ Scene Storm / Scene Storm - Volume 1.iso / coding / c / vbcc / machines / amiga68k / libsrc / stdio / fclose.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-08-31  |  582 b   |  21 lines

  1. #include <stdio.h>
  2.  
  3. extern char *_stdin,*_stdout,*_stderr;
  4. extern FILE *_firstfile,*_lastfile;
  5.  
  6. /*  schliesst Dateien   */
  7. /*  noch sehr einfach   */
  8. int fclose(FILE *f)
  9. {
  10.     if(!f) return(EOF);
  11.     if(!f->filehandle) return(EOF);
  12.     fflush(f);
  13.     if(f->filehandle!=_stdin&&f->filehandle!=_stdout&&f->filehandle!=_stderr)
  14.         Close(f->filehandle);   /*  hier returncode auswerten   */
  15.     if(f->prev) f->prev->next=f->next; else _firstfile=f->next;
  16.     if(f->next) f->next->prev=f->prev; else _lastfile=f->prev;
  17.     if(f->base) free(f->base-1);
  18.     free(f);
  19.     return(0);
  20. }
  21.